#pragma once
#include "stdafx.h"
#include "coords.h"
#include "Keyboard.h"
#include "Array2D.h"
#include "cube.h"

#define	MOV_LEFT	1
#define	MOV_RIGHT	2
#define	MOV_UP		3
#define	MOV_DOWN	4

class CCube;
typedef shared_ptr<CCube> PCube;

class CHero
{
public:
	CHero(void);
	~CHero(void);
	void		Update();
	void		Draw(PArray2D& disp);
	void		Move(int dir);
	void		Rotate(int dir);

	PCoords		getPosition(){ return heroCoords; };
	void		setCubePtr(PCube pc) { cube = pc; };
private:
	PCoords		heroCoords;
	PCoords		cubeSize;
	PCube		cube;
};

typedef shared_ptr<CHero> PHero;
